There are known various image synthesizing systems used as in three-dimensional (3-D) games, airplane or other vehicle simulators and so on. Typically, such image synthesizing systems have information of image relating to a 3-D object 300 as shown in FIG. 24, which has previously been stored therein. Information of image is perspectively transformed into a pseudo 3-D image 308 on a screen 306. As a player 302 makes an operation with a control panel 304 such as rotation, translation or the like, the system responds to the control signal to perform the processing with respect to rotation, translation or the like of the image of the 3-D object 300 in real time. Thereafter, the processed 3-D image is perspectively transformed into the pseudo 3-D image on the screen 306. As a result, the player 302 itself can rotate or translate the three-dimensional objects in real time to experience a virtual 3-D space.
FIG. 25 shows one of such image synthesizing systems. The image synthesizing system will be described as being applied to a 3-D game.
As shown in FIG. 25, the image synthesizing system comprises an operator's control unit 510, a game space processing unit 500, an image synthesizing unit 512 and a CRT 518.
The game space processing unit 500 sets a game space in response to control signals from the operator's control unit 510 and in accordance with a game program which has been stored in a central processing unit 506. Namely, the processing is performed with respect to what position and direct/on the 3-D object 300 should be arranged in.
The image synthesizing unit 512 comprises an image supply unit 514 and an image forming unit 516. The image synthesizing unit 512 performs the synthesization of a pseudo 3-D image in accordance with information of a game space set by the game space processing unit 500.
In this image synthesizing system, 3-D objects in the game space are defined as polyhedrons which are divided into 3-D polygons. As shown in FIG. 24, For example, the 3-D object 300 is represented as a polyhedron which is divided into 3-D polygons 1-6 (polygons 4-6 not shown herein). The coordinates and associated data of each vertex in each of the 3-D polygons (which will be referred to "image data of vertices") have been stored in a 3-D image data storage 552.
The image supply unit 514 performs various mathematical treatments such as rotation, translation and others, and various coordinate conversions such as perspective transformation and others, for the image data of vertices, in accordance with the setting of the game space processing unit 500. After the image data of vertices has been processed, it is permuted in a given order before outputted to the image forming unit 516.
The image forming unit 516 comprises a polygon generator 570 and a palette circuit 580. The polygon generator 570 comprises an outline (polygon edges) point processing unit 324 and a line processor 326. The image forming unit 516 is adapted to perform a process of painting all the dots (pixels) in the polygon with a predetermined color data or the like in the following procedure:
First of all, the outline point processing unit 324 calculates left-hand and right-hand outline points which are intersection points between polygon edges AB, BC, CD, DA and other polygon edges and scan lines, as shown in FIG. 26. Subsequently, the line processor 326 paints, with specified color data, sections between the left-hand and right-hand outline points, for example, sections between L and Q; Q and R as shown in FIG. 26. In FIG. 26, the section between L and Q is painted by red color data while the section between Q and R is painted by blue color data. Thereafter, the color data used on painting are transformed into RGB data in the palette circuit 580, and then the RGB data in turn is outputted to and displayed in CRT 518.
In such an image synthesizing system of the prior art, all the dots on a single polygon can be painted only by the same color, as described. As can be seen in FIG. 26, for example, the dots on the polygon 1 are only painted by red color; the dots on the polygon 2 are only painted by yellow color; and the dots on the polygon 3 are only painted by blue color. Thus, the formed image is monotonous without reality.
If an object having its complicated surface is to be displayed to avoid such a monotonousness, the number of divided polygons must greatly be increased. For example, if a 3-D object 332 having a texture of color data as shown in FIG. 27 is to be formed by the image synthesizing system of the prior art, it is required to divide a polyhedron into polygons 1-80 (polygons 41-80 not shown herein) for processing. Namely, various processing operations including the rotation, translation and perspective transformation, the treatment of polygon outline, the painting and the like must be performed for all the polygons. It is thus required to treat polygons ten-odd times those of the 3-D object 300 having no texture as shown in FIG. 24. However, the system for synthesizing an image in real time must terminate the drawing of an image to be displayed by treating all the dots for every field (1/60 seconds). In order to draw such a 3-D object 332 having a texture of color data, one requires a hardware having a very increased speed or an increased scale to perform a parallel operation. As the number of polygons to be processed is increased, the memory and data processor of the system is necessarily increased in scale. In image synthesizing systems such as video game machines which are limited in cost and space, it is therefore subsequently impossible to draw a pseudo 3-D image having a delicate texture with high quality.
In the field of computer graphics and the like, there is known a texture mapping technique shown in FIG. 28. The texture mapping separates the image data of a 3-D object 332 into the image data of a polyhedron 334 and the texture data of textures 336 and 338, which are in turn stored in the system. On displaying an image, the texture data of the textures 336, 338 are applied to the polyhedron 334 to perform the image synthesization. (One of the texture mapping type image synthesizing techniques is disclosed in Japanese Patent Laid-Open No. Sho 63-80375, for example).
The texture mapping technique is realized in the field of very large-scale and expensive image processing systems such as exclusive image-processing computers known as graphics work stations, flight simulators and so on. Very few image synthesizing systems which are relatively inexpensive, like video game machines, utilize the texture mapping technique since it is difficult to increase the speed and scale of their hardwares. In addition, such video game machines can only display limited numbers and sizes of 3-D objects and the mapping they provide is inaccurate since the operation is performed by a simple approximation. As a result, the reality of the image is very degraded. Furthermore, the real-time display is insufficient since the frequency of updating the scene is low, that is, several frames per second.
In order to decrease the number of computations in the hardware to increase in speed and to reduce in scale, the number of computations for the most data, that is, the number of linear interpolations for representing coordinates, texture data, brightness data and other data in the displayed scene for the respective dots may be reduced. To this end, there is one effective means for subsampling these data and interpolating data on output.
In the bit-map type image synthesizing system of the prior art, however, the color data itself is stored in the field buffer unit. If the subsampling/interpolation is to be carried out in the prior art, it raises the following problems. In this case, if the color data stored in the field buffer unit includes color codes or is coded to be color data, the interpolation itself is impossible. This is completely out of the question. If the stored color data is RGB output or the like, the quality of a synthesized image is extremely degraded. More particularly, the texture data is optionally provided depending on an image to be displayed. The row of the texture data has neither linearity nor mathematical regularity. As a result, subsampling such data means that the image data itself is partially lost. Such a partially lost image data cannot be recovered by the interpolation. Thus, the quality of the synthesized image is very inferior in partial loss of data and others. As a result, the bit-map type image synthesizing system of the prior art could not substantially reduce the scale of its hardware and increase the speed of the same through the subsampling/interpolation technique.
In view of the aforementioned problems of the prior art, an object of the present invention is to provide an image synthesizing system which can increase the speed of the hardware and reduce the scale of the same particularly through the subsampling/interpolation technique.